Dynamic content recommendations

ABSTRACT

According to some aspects, disclosed methods and systems may include determining, by a device and based on historical data associated with a first user, a first user profile comprising one or more content recommendation periods each associated with a time period and a content classification, and in response to detecting a user interaction, selecting a first content recommendation period of the one or more content recommendation periods. The methods and system may also include determining one or more content candidates corresponding to the content classification from a plurality of content assets based on an amount of remaining time in the time period associated with the first content recommendation period and a correlation between the historical data associated with the first user and one or more contextual features associated with the plurality of content assets, and transmitting, to a client device, an indication of the one or more content candidates.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority to and is a continuation of U.S.application Ser. No. 14/310,327, filed Jun. 20, 2014, the contents ofwhich are incorporated herein by reference in its entirety.

BACKGROUND

Content providers have long sought to determine how to quickly produceaccurate content recommendations for users. There is an ever-presentneed to accurately produce content recommendations that fit into auser's daily schedule, while maximizing the amount of time the user hasavailable to access those content recommendations.

SUMMARY

The following summary is for illustrative purposes only, and is notintended to limit or constrain the detailed description.

One or more aspects of the disclosure provide for a method that mayinclude determining, by a device and based on historical data associatedwith a first user, a first user profile comprising one or more contentrecommendation periods each associated with a time period and a contentclassification; and in response to detecting a user interaction,selecting a first content recommendation period of the one or morecontent recommendation periods. The method may also include determiningone or more content candidates corresponding to the contentclassification from a plurality of content assets based on an amount ofremaining time in the time period associated with the first contentrecommendation period and a correlation between the historical dataassociated with the first user and one or more contextual featuresassociated with the plurality of content assets; and transmitting, to aclient device, an indication of the one or more content candidates.

One or more aspects of the disclosure also provide for a method that mayinclude determining, by a device and based on historical data associatedwith a first user and a second user, a first user profile and a seconduser profile each comprising one or more content recommendation periodsassociated with a time period and a content classification; and inresponse to detecting an interaction by the first user or the seconduser, assigning a first content recommendation period from one of thefirst user profile and the second user profile. The method may alsoinclude determining one or more content candidates corresponding to thecontent classification from a plurality of content assets based on anamount of remaining time in the time period associated with the firstcontent recommendation period and a correlation between one or morecontextual features associated with the plurality of content assets andthe historical data associated with at least one of the first user andthe second user; and transmitting, to a client device, an indication ofthe one or more content candidates.

One or more aspects of the disclosure also provide for a method that mayinclude determining, by a device and based on a user interaction andhistorical data associated with a first user, one or more contentrecommendation periods; assigning one or more content candidates to theone or more content recommendation periods based on a correlationbetween the historical data associated with the first user and one ormore contextual features associated with the one or more contentcandidates; and transmitting an indication associated with the one ormore content candidates.

The summary here is not an exhaustive listing of the novel featuresdescribed herein, and is not limiting of the claims. These and otherfeatures are described in greater detail below.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other features, aspects, and advantages of the presentdisclosure will become better understood with regard to the followingdescription, claims, and drawings. The present disclosure is illustratedby way of example, and not limited by, the accompanying figures in whichlike numerals indicate similar elements.

FIG. 1 illustrates an example communication network on which variousfeatures described herein may be used.

FIG. 2 illustrates an example computing device that can be used toimplement any of the methods, servers, entities, and computing devicesdescribed herein.

FIG. 3 illustrates an example system in accordance with aspects of thepresent disclosure.

FIG. 4 illustrates an example flow diagram of a method in accordancewith aspects of the present disclosure.

FIG. 5 illustrates an example flow diagram of a method in accordancewith aspects of the present disclosure.

DETAILED DESCRIPTION

As will be appreciated by one of skill in the art upon reading thefollowing disclosure, various aspects described herein may be embodiedas a method, a computer system, or a computer program product.Accordingly, those aspects may take the form of an entirely hardwareembodiment, an entirely software embodiment or an embodiment combiningsoftware and hardware aspects. Furthermore, such aspects may take theform of a computer program product stored by one or morecomputer-readable storage media having computer-readable program code,or instructions, embodied in or on the storage media. Any suitablecomputer readable storage media may be utilized, including hard disks,CD-ROMs, optical storage devices, removable storage media, solid statememory, RAM, magnetic storage devices, and/or any combination thereof.In addition, the functionality may be embodied in whole or in part infirmware or hardware equivalents, such as integrated circuits, fieldprogrammable gate arrays (FPGAs), and the like. Various signalsrepresenting data or events as described herein may be transferredbetween a source and a destination in the form of electromagnetic wavestraveling through signal-conducting media such as metal wires, opticalfibers, and/or wireless transmission media (e.g., air and/or space).

FIG. 1 illustrates an example communication network 100 on which many ofthe various features described herein may be implemented. The network100 may be any type of information distribution network, such assatellite, telephone, cellular, wireless, etc. One example may be anoptical fiber network, a coaxial cable network, or a hybrid fiber/coaxdistribution network. Such networks 100 use a series of interconnectedcommunication links 101 (e.g., coaxial cables, optical fibers, wireless,etc.) to connect multiple premises 102 (e.g., businesses, homes,consumer dwellings, etc.) to a local office or headend 103. The localoffice 103 may transmit downstream information signals onto the links101, and each premises 102 may have a receiver used to receive andprocess those signals.

There may be one or more links 101 originating from the local office103, and it may be split a number of times to distribute the signal tothe various premises 102 in the vicinity (which may be many miles) ofthe local office 103. The links 101 may include components notillustrated, such as splitters, filters, amplifiers, etc. to help conveythe signal clearly, but in general each split introduces a bit of signaldegradation. Portions of the links 101 may also be implemented withfiber-optic cable, while other portions may be implemented with coaxialcable, other lines, or wireless communication paths. By running fiberoptic cable along some portions, for example, signal degradation may besignificantly minimized, allowing a single the local office 103 to reacheven farther with its network of the links 101 than before.

The local office 103 may include an interface 104, such as a terminationsystem (TS). More specifically, the interface 104 may be a cable modemtermination system (CMTS), which may be a computing device configured tomanage communications between devices on the network of the links 101and backend devices such as the servers 105-107 (to be discussed furtherbelow). The interface 104 may be as specified in a standard, such as theData Over Cable Service Interface Specification (DOCSIS) standard,published by Cable Television Laboratories, Inc. (a.k.a. CableLabs), orit may be a similar or modified device instead. The interface 104 may beconfigured to place data on one or more downstream frequencies to bereceived by modems at the various premises 102, and to receive upstreamcommunications from those modems on one or more upstream frequencies.

The local office 103 may also include one or more network interfaces108, which can permit the local office 103 to communicate with variousother external networks 109. These networks 109 may include, forexample, networks of Internet devices, telephone networks, cellulartelephone networks, fiber optic networks, local wireless networks (e.g.,WiMAX), satellite networks, and any other desired network, and thenetwork interface 108 may include the corresponding circuitry needed tocommunicate on the external networks 109, and to other devices on thenetwork such as a cellular telephone network and its corresponding cellphones.

As noted above, the local office 103 may include a variety of servers105-107 that may be configured to perform various functions. Forexample, the local office 103 may include one or more push notificationservers 105. The push notification server 105 may generate pushnotifications to deliver data and/or commands to the various premises102 in the network (or more specifically, to the devices in the premises102 that are configured to detect such notifications).

The local office 103 may also include one or more content servers 106.The content server 106 may be one or more computing devices that areconfigured to provide content to users at their premises. This contentmay be, for example, advertisements (such as commercials), video ondemand movies, television programs, songs, text listings, etc. Thecontent server 106 may include software to validate user identities andentitlements, to locate and retrieve requested content, to encrypt thecontent, and to initiate delivery (e.g., streaming or downloading) ofthe content to the requesting user(s) and/or device(s). The contentserver 106 may also be configured to generate advertising decisions andrules, and transmit them to a requesting user or device.

The local office 103 may also include one or more application servers107. An application server 107 may be a computing device configured tooffer any desired service, and may run various languages and operatingsystems (e.g., servlets and JSP pages running on Tomcat/MySQL, OSX, BSD,Ubuntu, Redhat, HTML5, JavaScript, AJAX and COMET). For example, anapplication server may be responsible for collecting television programlistings information and generating a data download for electronicprogram guide listings. As another example, the application server oranother server may be responsible for monitoring user viewing habits andcollecting that information for use in selecting advertisements. Asanother example, the application server or another server may beresponsible for formatting and inserting advertisements in, for examplea video stream being transmitted to the premises 102. Yet theapplication server or another application server may be responsible forassociating interactive components into and with content and/oradvertisements. Although shown separately, one of ordinary skill in theart will appreciate that the push server 105, the content server 106,and the application server 107 may be combined. Further, here the pushserver 105, the content server 106, and the application server 107 areshown generally, and it will be understood that they may each containmemory storing computer executable instructions to cause a processor toperform steps described herein and/or memory for storing data.

An example premises 102 a, such as a home, may include an interface 120.The interface 120 can include any communication circuitry needed toallow a device to communicate on one or more links 101 with otherdevices in the network. For example, the interface 120 may include amodem 110, which may include transmitters and receivers used tocommunicate on the links 101 and with the local office 103. The modem110 may be, for example, a coaxial cable modem (for coaxial cable lines101), a fiber interface node (for fiber optic lines 101), twisted-pairtelephone modem, cellular telephone transceiver, satellite transceiver,local Wi-Fi router or access point, or any other desired modem device.Also, although only one modem is shown in FIG. 1 , a plurality of modemsoperating in parallel may be implemented within the interface 120.Further, the interface 120 may include a gateway interface device 111.The modem 110 may be connected to, or be a part of, the gatewayinterface device 111. The gateway interface device 111, such as agateway, may be a computing device that communicates with the modem(s)110 to allow one or more other devices in the premises 102 a, tocommunicate with the local office 103 and other devices beyond the localoffice 103. The gateway interface device 111 may be a set-top box,digital video recorder (DVR), computer server, or any other desiredcomputing device. The gateway interface device 111 may also include (notshown) local network interfaces to provide communication signals torequesting entities/devices in the premises 102 a, such as the displaydevices 112 (e.g., televisions), the additional set-top boxes or theDVRs 113, the personal computers 114, the laptop computers 115, thewireless devices 116 (e.g., wireless routers, wireless laptops,notebooks, tablets and netbooks, cordless phones (e.g., Digital EnhancedCordless Telephone—DECT phones), mobile phones, mobile televisions,personal digital assistants (PDA), etc.), the landline phones 117 (e.g.Voice over Internet Protocol—VoIP phones), and any other desireddevices. Examples of the local network interfaces include MultimediaOver Coax Alliance (MoCA) interfaces, Ethernet interfaces, universalserial bus (USB) interfaces, wireless interfaces (e.g., IEEE 802.11,IEEE 802.15), analog twisted pair interfaces, Bluetooth interfaces, andothers.

FIG. 2 illustrates general hardware elements that can be used toimplement any of the various computing devices discussed herein. Thecomputing device 200 may include one or more processors 201, which mayexecute instructions of a computer program to perform any of thefeatures described herein. The instructions may be stored in any type ofcomputer-readable medium or memory, to configure the operation of theprocessor 201. For example, instructions may be stored in a read-onlymemory (ROM) 202, a random access memory (RAM) 203, a removable media204, such as a Universal Serial Bus (USB) drive, compact disk (CD) ordigital versatile disk (DVD), floppy disk drive, or any other desiredstorage medium. Instructions may also be stored in an attached (orinternal) storage 205, such as a hard drive. The computing device 200may include one or more output devices, such as a display 206 (e.g., anexternal television), and may include one or more output devicecontrollers 207, such as a video processor. There may also be one ormore user input devices 208, such as a remote control, keyboard, mouse,touch screen, microphone, etc. The computing device 200 may also includeone or more network interfaces, such as a network input/output (I/O)circuit 209 (e.g., a network card) to communicate with an externalnetwork 210. The network input/output circuit 209 may be a wiredinterface, wireless interface, or a combination of the two. In someembodiments, the network input/output circuit 209 may include a modem(e.g., a cable modem), and the external network 210 may include thecommunication links 101 discussed above, the external network 109, anin-home network, a provider's wireless, coaxial, fiber, or hybridfiber/coaxial distribution system (e.g., a DOCSIS network), or any otherdesired network. Additionally, the device may include alocation-detecting device, such as a global positioning system (GPS)microprocessor 211, which can be configured to receive and processglobal positioning signals and determine, with possible assistance froman external server and antenna, a geographic position of the device.

FIG. 2 shows an example hardware configuration. Modifications may bemade to add, remove, combine, divide, etc., components as desired, andsome or all of the elements may be implemented using software.Additionally, the components illustrated may be implemented using basicdisplay devices and components, and the same components (e.g., theprocessor 201, the ROM 202, the display 206, other input/output devices,etc.) may be used to implement any of the other display devices andcomponents described herein. For example, the various components hereinmay be implemented using display devices having components such as aprocessor executing computer-executable instructions stored on acomputer-readable medium (e.g., the storage 205), as illustrated in FIG.2 .

Having described examples of network environments and contentconsumption devices that may be used in implementing various aspects ofthe disclosure, several examples will now be described in greater detailillustrating how a display device may monitor user actions during anadvertisement, a display device may restrict a user's control of thedisplay device during an advertisement, and efficacy file reports arecreated and used. The consumption device, which may be a user's tabletcomputer, personal computer, smartphone, DVR, or any other computingdevice as described herein, may monitor any client-side interaction withthe user during an advertisement, such as detecting a change in audiolevel or order of display elements. In other examples, the displaydevice may prohibit a user from muting an advertisement during play.

FIG. 3 illustrates an example system 300 in accordance with one or moredisclosed features described herein. The system 300 may include theclient device 316. The client device 316 may comprise, be substantiallysimilar to, and/or be the same as computing device 200, as shown in FIG.2 . The client device 316 may comprise, for example, a set-top box 113,personal computer 114, laptop computer 115, gateway 111, modem 110,display device 112, landline phone 117, wireless device 116, a mobiledevice (smartphone, tablet, smartwatch, Bluetooth, etc.), digital videorecorder (DVR), digital video player, audio device, or any other devicecapable of providing or accessing media and/or content, or combinationsthereof. The client device 316 may be operably connected to an inputdevice 314, which may comprise a remote control, keyboard, mouse, touchscreen, microphone, or the like used to control and access features ofthe client device 316. The input device 314 m may comprise, besubstantially similar to, and/or be the same as input device 208, asshown in FIG. 2 . One or more users, such as the user 308, the user 310,and the user 312, may interact with the input device 314 and/or theclient device 316. The users 308, 310, and 312 may also interact and/orbe associated with one or more computing devices, such as the computingdevices 302, 304, and 306. The computing devices 302, 304, and 306 maycomprise, be substantially similar to, and/or be the same as computingdevice 200, as shown in FIG. 2 . The computing devices 302, 304, and 306may comprise, for example, a set-top box 113, personal computer 114,laptop computer 115, gateway 111, modem 110, display device 112,landline phone 117, wireless device 116, a mobile device (smartphone,tablet, smartwatch, Bluetooth, etc.), digital video recorder (DVR),digital video player, audio device, or any other device capable ofproviding or accessing media and/or content, or combinations thereof.

The client device 316 may be operably connected to the local office 103via a network 318. The network 318 may comprise, be substantiallysimilar to, and/or be the same as network 100, link 101, externalnetwork 109, and/or external network 210 as shown in FIGS. 1 and 2 . Thenetwork 318 may be, for example, a wireless network, a MoCA in-homecoaxial cable network, a cellular network, an Ethernet network, a Wi-Finetwork, and the like. The local office 103, which may be associatedwith a head end, may provide content to the client device 316 via thenetwork 318. The local office 103 may include and/or be associated withone or more profiles, such as the user profile 322, the user profile324, and the user profile 326. Each user profile may be associated withthe users 308, 310, or 312. Each user profile may be associated with auser's historical data, such as the historical data 328, the historicaldata 330, and the historical data 332 (each of which may correspond tothe users 308, 310, and 312). It is noted that while the local office103 is shown in FIG. 3 to include profiles 322, 324, and 326 along withthe historical data 328, 330, and 332, profiles 322, 324, and 326 andthe historical data 328, 330, and 332 may be included in and/orassociated with other components, such as the client device 316. Aspreviously shown in FIG. 1 , the local office 103 may include one ormore content servers 106. The local office 103 (e.g., via the contentserver 106) may also access and retrieve content from one or morecontent sources 334, such as internet content sources, music contentsources, or video content sources, for transmission to one or moredevices, such as the client device 316.

Each component of the system 300 may be operably connected to and/orinteract with each other via a direct and/or indirect connection, suchas via a network or hardwire. Each component of the system 300 may beaffiliated, operably connected to, and/or located at a service orcontent provider, such as the local office 103.

FIG. 3 illustrates one client device 316, however, any number of clientdevices, such as two, ten, or a hundred, may be included in the system300 and/or in any of the embodiments disclosed herein. The client device316 may be located at a location, such as premises 102 a. Additionally,client devices may be located at a same or similar location, such aspremises 102 a, or may be located at different locations. The clientdevice 316 may provide and/or access content services, such asvideo/image content services, audio content services, internet contentservices, and the like. The client device 316 may access contentservices and other services via, for example, a video processor or audioprocessor (e.g., similar to device controller 207) and may displaycontent on a display (e.g., similar to display 206 as shown in FIG. 2 ).For example, the client device 316 may launch an application on theclient device 316, and access content via the launched application. Theclient device 316 may access content on any number of content platforms,which may include a linear content platform, media (video/audio)on-demand content platform, mobile content platform, a serviceprovider-specific content platform, an online content platform, or othercontent platform that may be capable of providing content on the clientdevice 316, or combinations thereof. For example, the client device 316may be a mobile device, and may provide content, such as a movie,through a mobile application. In such a scenario, the content may beprovided through a mobile content platform. In another example, theclient device 316 may be a set-top box, and may provide content, such asa television program or show, via linear content (e.g., live broadcast).In such a scenario, the content may be provided through a linear contentplatform. In yet another example, the client device 316 may be a set-topbox, and may provide content, such as a song, using a media on-demandcontent platform, and/or may provide content, such as an internet video,using an online content platform. A service provider may provide contentthat may be specific for that service provider with the serviceprovider's own content platform. For example, content provided on aservice provider content platform may be customized by a serviceprovider for a particular client device and/or user, such as providing auser's favorite part of a movie, recommended scene of a movie, and thelike. Additionally, content provided on a service provider contentplatform may be a combination of various other platforms, such ascombining online content with linear or video on-demand content.

Users 308, 310, and 312 may access content from the client device 316.For example, the user 308 may request access to a movie on a set-topbox, and subsequently watch the movie on a display connected to theset-top box. In this example, the user 308 may use an input device 314(such as a remote control) to request access to the movie on the set-topbox. According to some aspects, the local office 103 may then determineand/or access the historical data 328, 330, and 332 corresponding toeach of the users 308, 310, and 312. The historical data 328 may includethe viewing patterns and/or behavior of the user 308, as well asfeatures of any viewed/accessed content, such as the content's metadataand/or contextual features (e.g., state of the content and the actualinformation embedded in the content). In addition, the historical data328 may also include the relationship between metadata or contextualinformation from a show and how they affect the viewing patterns orbehavior of the user 308.

The historical data 328 (e.g., metadata and/or contextual features ofcontent and/or behavior of a user) may include the time or dateassociated with an accessed content item (such as if a show comes on at21:00), a particular day of the week associated with a content item(such as if a new episode of a show only comes on Tuesdays), whetherthere are any exciting moments or events in the content (such as thenumber of highlight plays in a football game), or other descriptiveinformation for content (such as a score of a football game at any pointduring the football game). Other information that may be included in thehistorical data 328 may include the name or description of the contentitem, the content item's platform or channel, content item's location(e.g., IP address), a category/type/classification for the content (suchas kids, movie, sports, drama, sitcom, comedy, news, and the like),whether the content is broadcasted live, and the like. The historicaldata 328 may also include a DVR list of content for a user, which showsthe user typically records, which shows the user typically watches live.The historical data 328 may also include which applications the useraccesses (such as a news, traffic, weather, shopping, gaming, fantasysports, or music application) and what time the user accesses thoseapplications.

Contextual information may include any descriptive information regardingwhat is actually happening in a show or application. For example, if auser is watching a football game, contextual information may includethat the user's favorite team is losing 49-7 and the game is in thesecond quarter. In such a situation, if the user then opts to change toanother program, then the user's behavior may be determined to includechanging the channel when the user's favorite team is losing 49-7 in thesecond quarter. The user's favorite team may be determined by any numberof factors, such as a correlation between the location associated with ateam and of the user, how many games the user has watched of aparticular team, and whether the user has input the user's favorite teaminto the client device 316 and/or the local office 103. It is noted thatwhile the user 308 and the user 308's historical data 328 are used inthe above examples, other users, such as the users 310 and 312, andtheir historical data, such as the historical data 330 and 332, may alsobe used in the examples and embodiments disclosed herein. In addition,the historical data 328 (e.g., information regarding the user 308'sbehavior) may also include whether the user 308 watched a show for theentire scheduled length of the show (or accessed a song for the entirelength of the song), which portion of a show the user watched (e.g.,beginning, middle, end), how much of a show a user watched (e.g., 20% or50%), whether and at which point during the show the user stoppedaccessing the show and/or changed to another show. A user's historicaldata will be described below in more detail.

Using the historical data 328, 330, and 332, the local office 103 maythen create and/or store one or more user profiles 322, 324, and 326which may correspond to each of the users 308, 310, and 312. A userprofile 322 may include a schedule describing when and/or at what timesduring a period of time (e.g., an hour, day, week, month, year, etc.)the user 308 accesses/watches content. For example, the user profile 322may include a schedule detailing which parts of the day the user 308tends to access or frequently accesses content (such as time periodsduring the day), and which types of content the user 308 tends to watchor frequently watches during those parts of the day (such as watchingkids programing from 16:00 to 17:00). Tending to access content maydescribe a situation in which the user 308 accesses a content a largerpart of the time (such as 20%, 50%, 70%, and 90% of the time and thelike).

The user profile 322 may include different schedules for different timeperiods, such as a different schedule for each day of the week. Forexample, if the user 308 tends to watch professional football on Mondaysfrom 19:00-22:00, Thursdays at 20:00-23:00, and Sundays at 19:00-22:00,then a schedule for Monday, Thursday, and Sunday may includeprofessional football on Mondays from 19:00-22:00, Thursdays at20:00-23:00, and Sundays at 19:00-22:00. Consequently, a schedule forTuesday, Wednesday, Friday, and Saturday may not include professionalfootball, and may contain other content types beginning at 20:00 or21:00 on those days. Additionally, some content items may only beaccessible during particular times of the year, such as professionalAmerican football being available August through February. Thus, aprofile may be updated to reflect any seasonal variation in contentprograming. Also, the local office 103 may create and maintain a profilefor one or more devices associated with a user. For example, the localoffice 103 may create a profile for the user 308 for a set-top box, aseparate profile for the user 308 for a smartphone, and a separateprofile for the user 308 for a tablet. It is noted that while the user308 and the user 308's profile 322 are used in the above examples, otherusers, such as users 310 and 312 and their corresponding profiles (e.g.,profiles 324 and 326) may also be used in the examples and embodimentsdisclosed herein. A user's profile will described below in more detail.

FIG. 4 is an exemplary flow diagram illustrating an example process 400in accordance with one or more disclosed features described herein. Inone or more embodiments, the process illustrated in FIG. 4 and/or one ormore steps thereof may be performed by one or more computing devices(e.g., the input device 314, the client device 316, computing devices,302, 304, and 306, the local office 103, one or more content providers,and the like). In other embodiments, the process illustrated in FIG. 4and/or one or more steps thereof may be embodied in computer-executableinstructions that are stored in a computer-readable medium, such as anon-transitory computer-readable memory. The steps in this flow diagramneed not all be performed in the order specified and some steps may beomitted and/or changed in order.

In the example provided, the process 400 may begin with step 402, inwhich the local office 103 may receive and analyze one or more contentassets to determine various types of metadata for those content assets.The metadata may include contextual features of the content, such asinformation that describes what is happening or what happened during ashow, or what is happening or happen in an accessed application. Forexample, contextual features for a football game may include the numberof highlight plays that happened during the game (such as if the balladvanced 20 yards, then it is a highlight play), the score at anyparticular point during the game, which teams are playing, which team iswinning, whether there is a blowout score (which may be based on athreshold, such as over 21 points), whether it is raining or snowing,whether an unusual event happened during the game (such as an injury orfan running onto the field), whether the game lasted longer than anexpected length of time, whether the game went into overtime, what timeis left, which quarter the game is in, and the like. In another example,the user 308 may access a gaming application on the client device 316and may play a video game with the gaming application. Thus, contextualfeatures for the video game and/or gaming application may includewhether the user did well or poorly in the video game (e.g., won or lostthe game), the score in the video game, the game level of the videogame, how many points a user obtained during a video session, and thelike. It is noted that the analyzed content assets may include assetsconfigured for any content platform, such as internet, linear, DVR,on-demand, music, and applications (e.g., traffic, weather, socialmedia). Additional metadata may include whether an episode of a show isa new or repeated episode and a content classification (such as kids,sports, movie, drama, adult, news, etc.). The metadata may also includethe time and day the content asset may be broadcasted live by the localoffice 103.

The contextual information may include whether a show deviated from howthe show is expected to happen. For example, a children's televisionshow, such as SpongeBob Square Pants, may not have a lot of contextualvariance from episode to episode (e.g., follows the same general storywith little to no deviation between episodes). Thus, contextual featuresmay generally be the same from episode to episode. However, as in theabove football example, one football game may be completely differentthan another football. For example, the teams may be different, thescore may be different, the number and types (e.g., highlights, runningplays, passing plays, etc.) of plays may be different, the games'weather may be different, and the like. Thus, there may be morecontextual variance between the contextual features of differentsporting events. Similarly, a drama, such as Downton Abbey, maygenerally follow a similar storyline with each episode, but, there maysome variation between different episodes of Downton Abby (e.g., someonewas killed in an episode, someone was married in an episode, a partyhappened in an episode, etc.).

At step 404, the local office 103 may determine, gather, and/or analyzehistorical data (e.g., the historical data 328) for a user (e.g., theuser 308). The historical data 328 may include the content viewingpatterns and/or behavior of the user 308 regarding how the user 308accesses content. For example, a user 308 may access a weather ortraffic application on the client device 316 at the user's house (e.g.,premises 102 a) every weekday morning at 07:00 before the user 308leaves to go to work. Thus, the user 308's historical data 328 mayinclude that the user accesses a weather or traffic application everyweekday morning at 07:00. If the user 308 then accesses a news programsuch as the Today Show at 07:30 until the user 308 leaves for work at08:00, the historical data 328 may reflect that the user typicallywatches a news program (which may specifically be the Today Show) from07:30-08:00 on weekdays.

In some embodiments, the local office 103 may obtain other informationfrom the user 308, such as a location of the user. In one example, thelocal office 103 may obtain location information using a GPS deviceassociated with the user 308 (such as found in the client device 316,the computing device 302, or a vehicle used by the user 308). Thus,after the user 308 leaves for work at 08:00, the local office 103 maydetermine how long it takes the user 308 to arrive at a destination(e.g., an office building). All of this information (such as locationinformation, timing information, user behavior, etc.) may be included inthe historical data 328. Additionally, the historical data 328 may alsoreflect whether the user accessed any content on the way to work.

In some embodiments, the local office 103 may determine historical datafor a particular the client device 316. In such cases, the historicaldata may not directly correspond with the particular viewing habits andbehavior of a specific user 308, but may correspond with one or moreusers' behavior regarding accessing content on that particular theclient device 316. For example, a family may include a dad (the user308), a mom (the user 310), a child (the user 312), and the family mayown and access a set-top box (the client device 316). The dad may accesson the client device 316 a weather or traffic application at 07:00 everyweekday, the mom and dad may access a news program (The Today Show) from07:30-08:00 every weekday, the dad may pick up the child from school,come home, access a kids program (SpongeBob) from 16:30-17:00 everyweekday, the dad may access a gaming application from 17:00-18:00 everyweekday, the mom and dad may access the evening local news from18:00-19:00 every weekday, the dad may access a sporting event (footballgame) from 19:00-22:00, and the mom may access a drama or reality show(Downton Abbey or The Voice) from 22:00-23:00. Thus, the historical datafor the client device 316 may reflect all of the above information.

In some embodiments, content may be accessed on different platforms,such as DVR, on-demand (music or video), linear, and the like. Forexample, the user 308 may watch SpongeBob at 16:30 using a videoon-demand platform on weekdays. Thus, the historical data 328 mayreflect that the user 308 tends to watch SpongeBob at 16:30 using avideo on-demand platform on weekdays. In some embodiments, the localoffice 103 may gather historical information from scheduled andpreviously scheduled recordings found on a user's DVR. For example, theuser 308 may record The Today Show from 08:00-09:00 using a DVR andwatch the recorded segment from 17:00-18:00 every weekday. Thus, thehistorical data 328 may reflect that the user 308 tends to record theToday Show from 08:00-09:00 using a DVR and watch the recorded segmentfrom 17:00-18:00 every weekday.

In some embodiments, the user 308 may vary the length of time the user308 accesses a particular content item. For example, the user 308 maytend to watch a recording of the Today Show 17:00-18:00 every weekday.However, if there is a cooking segment during the recorded broadcast ofthe Today Show, the user may tend to stop accessing the recording (e.g.,stopping the recording) when that cooking segment approaches or happens,and may tend to switch to a 24 hour news channel (e.g., MSNBC) until18:00. At 18:00, the user 308 may then tend to watch the local eveningnews until 19:00. Thus, the historical data 328 may reflect that theuser 308 tends to watch a recording of the Today Show 17:00-18:00 everyweekday, but if there is a cooking segment during the recording, theuser tends to switch from the recording and watch a 24 hour news channel(e.g., MSNBC) until 18:00, and then the local evening news from18:00-19:00. The local office 103 may use contextual features of therecorded content item (e.g., the Today Show) to determine that the user308 tends to stop watching the recording if there is a cooking segment.For example, the local office 103 may determine all of the times thatthe user 308 has stopped watching the recording of the Today Show. Thelocal office 103 may then look to the contextual features of all ofthose recordings in which the user 308 stopped watching. The localoffice 103 may then determine that there are similarities between theepisodes, such as all (or most) of the episodes contain a cookingsegment. The local office 103 may also determine at which point duringthe playback of the recording the user 308 stop accessing a recording.The local office 103 may also determine which events happenedimmediately before and immediately after the point in which the user 308stopped accessing the recording to assess any pattern or trend in theuser's behavior. Thus, the local office 103 may determine, over thecourse of several recordings in which the user 308 stopped accessing,which contextual features (such as cooking segments) are most common inthe recordings in which the user 308 stopped accessing.

In some embodiments, the user 308 may access applications on the clientdevice 316. Such applications may include internet applications, weatheror traffic applications, music applications, fitness applications,social media applications, picture sharing application, gamingapplication, shopping applications, fantasy sports applications, and thelike. In such situations, the local office 103 may include in thehistorical data 328 which applications the user 308 may have accessed,and when the user 308 accessed the applications. Also, the local office103 may also determine contextual features of content from theapplications. For example, the local office 103 may determine to whichtypes of music the user 308 listens and at which times the user 308listens to certain types of music. The local office 103 may determine atwhat point in a song a user changes to another application or song.

In some embodiments, external environmental factors, such as traffic andweather, may affect a user's behavior in regard to accessing content.For example, the local office 103 may determine (and store as thehistorical data 328) that after the user 308 checks a trafficapplication, if the traffic for the user 308's commute is good for thatday, then the user 308 may listen to music, access an application, oraccess content for a longer period (e.g., longer than a scheduled timeperiod) than the user 308 would if the traffic was not good for thatday. In a similar example, the local office 103 may determine (and storeas the historical data 328) that after the user 308 checks a weatherapplication, if the weather is good for that day before the user 308leaves for the user's commute to work, then the user 308 may listen tomusic, access an application, or access content for a longer period thanthe user 308 would if the weather was not good for that day.

In another example, the local office 103 may determine (and store as thehistorical data 328) that when the user 308 is accessing a gamingapplication on the client device 316, such as playing a video game, thatif the user 308 is doing well in the video game (e.g., by examiningcontextual features, such as score, lives, etc. of the video game), thenthe user 308 tends to keep playing the video game and not access othercontent on the client device 316. Additionally, the local office 103 maydetermine that when the user 308 is doing poorly in the video game, thenthe user 308 tends to abandon the video game, and access other contenton the client device 316. In another example, the local office 103 maydetermine (and store as the historical data 328) that when the user 308is accessing a shopping application, the user tends to concurrentlyaccess content with little contextual variance from episode to episode(e.g., content that may follow the same general story with little to nodeviation between episodes), such as SpongeBob Square Pants, instead ofcontent with more contextual variance, such as a sporting event. Thelocal office 103 may also determine that the user 308 tends to pause (orstop accessing) the concurrently accessed content (e.g., SpongeBob) whenthe user 308 desires to access, view, and/or buy an item using theshopping application.

At step 406, the local office 103 may use historical data obtained instep 404 to determine a user profile describing which types of content(e.g., sports, news, drama, movie, traffic, gaming, etc.) a user tendsto access and which times and days/dates the user tends to access thosetypes of content. The user profile (e.g., the user profile 322) maycorrespond to a user (e.g., the user 308) and/or a user's historicaldata (e.g., the historical data 328). Thus, the local office 103 mayanalyze and/or use the historical data 328 to determine and/or create auser profile 322 for the user 308. The user profile 322 may be composedof one or more content recommendation periods. Each contentrecommendation period may correspond to a time/time period and/or acontent type/classification. Each content recommendation period may alsocorrespond to a day or date.

For example, after analyzing the historical data 328, the local office103 may determine that the user 308 (or the client device 316) tends toaccess on the client device 316 a traffic application at 07:00 everyweekday, access a news program from 07:30-08:00 every weekday, access akids program from 16:30-17:00 every weekday, access the evening localnews from 18:00-19:00 every weekday, access a sporting event from19:00-22:00 on Sundays, Mondays, and Thursdays, and access a drama from22:00-23:00 every weekday. A shown in the above example, a contentrecommendation period may correspond to a particular day of the week(such as the sporting event being on Sundays, Mondays, and Thursdays).Also, a content recommendation period may correspond to a period of time(such as the kids program from 16:30-17:00) or a particular start timewith no particular end time (such as the traffic application at 07:00).

FIG. 5 is an exemplary flow diagram illustrating an example process 500detailing exemplary steps for determining a profile, as described instep 406 in FIG. 4 . In one or more embodiments, the process illustratedin FIG. 5 and/or one or more steps thereof may be performed by one ormore computing devices (e.g., the input device 314, the client device316, computing devices, 302, 304, and 306, the local office 103, one ormore content providers, and the like). In other embodiments, the processillustrated in FIG. 5 and/or one or more steps thereof may be embodiedin computer-executable instructions that are stored in acomputer-readable medium, such as a non-transitory computer-readablememory. The steps in this flow diagram need not all be performed in theorder specified and some steps may be omitted and/or changed in order.

FIG. 5 may begin at step 502, in which the local office 103, using thehistorical data 328, may create one or more content recommendationperiods and determine for each content recommendation period acorresponding time period, which may, for example, be segments orportions of a day. The content recommendation periods may be of equallengths (e.g., 30 minutes each) or of non-equal length (e.g., 15minutes, 30 minutes, and 1 hour content recommendation periods). Forexample, the user 308 may tend to access content on the client device316 at 07:00 every weekday, from 07:30-08:00 every weekday, from16:30-17:00 every weekday, from 18:00-19:00 every weekday, from19:00-22:00 on Sundays, Mondays, and Thursdays, and from 22:00-23:00every weekday. Thus, using this historical data 328 of the user 308, thelocal office 103 may determine that as part of the user profile 322 forthe user 308, content recommendation periods may be made for 07:00 everyweekday, from 07:30-08:00 every weekday, from 16:30-17:00 every weekday,from 18:00-19:00 every weekday, from 19:00-22:00 on Sundays, Mondays,and Thursdays, and from 22:00-23:00 every weekday. In some embodiments,content recommendation period times may be made for particular days,such that content recommendation period times may be made for any day ofthe week, month, or year. In some embodiments, content recommendationperiod times may be of varying length.

According to some aspects, the local office 103 may dynamically changecontent recommendation period times as the local office 103 receivesadditional historical data 328. For example, if the user 308 begins towatch a sports talk show some weekdays from 07:15-08:00 instead ofwatching a news program from 07:30-08:00, then the local office 103 mayuse this additional historical data (e.g., the user 308 watching asports talk show some weekdays from 07:15-08:00) in determining whetherto implement a content recommendation period time from 07:15-08:00instead of 07:30-08:00 for those weekdays. Additionally, contentrecommendation periods may be seasonal. For example, the user 308 maywatch professional football from 19:00-22:00 on Sundays, Monday, andThursdays during the professional football season (e.g., fromAugust-February), but may tend to only access movie content from19:00-20:00 and 21:00-22:00 on Sundays, Monday, and Thursdays during themonths of March-July. Thus, the local office 103 may assign contentrecommendation period times to reflect the change of content seasons(such as sports seasons, sitcom seasons, and the like).

At step 504, the local office 103 may determine contenttypes/classifications, such as for each determined contentrecommendation period time of the day. For example, the local office 103may determine that the user 308 (or the client device 316) tends toaccess on the client device 316 a traffic application at 07:00 everyweekday, access a news program from 07:30-08:00 every weekday, access akids program from 16:30-17:00 every weekday, access the evening localnews from 18:00-19:00 every weekday, access a sporting event from19:00-22:00 on Sundays, Mondays, and Thursdays, access a drama from22:00-23:00 every weekday, and access a movie from 20:00-22:00 everySaturday. Thus, the local office 103 may assign content recommendationperiods (e.g., content recommendation period times and content types) ofa traffic application at 07:00 every weekday, a news program from07:30-08:00 every weekday, a kids program from 16:30-17:00 everyweekday, the evening local news from 18:00-19:00 every weekday, asporting event from 19:00-22:00 on Sundays, Mondays, and Thursdays, adrama from 22:00-23:00 every weekday, and a movie from 20:00-22:00 everySaturday. In some embodiments, a content type may also include anapplication, such as traffic, music, fitness, gaming, shopping, orweather applications.

In some embodiments, the local office 103 may assign a particularcontent item (e.g., a particular show) to a content recommendationperiod time period. For example, if the user 308 tends to primarilyaccess the Today Show from 07:30-08:00 every weekday (e.g., over 90% ofthe time), then the local office 103 may assign the Today Show to thatcontent recommendation period time period instead of a general newscontent type.

At step 506, the local office 103 may determine, using the historicaldata 328, user behavior with regard to metadata and contextual featuresof content found in the user's history (e.g., the historical data 328).As stated above, the historical data 328 may include the behavior of theuser 308 regarding how the user 308 accesses and/or interacts withcontent. Thus, in some embodiments, the user 308 may vary the length oftime the user 308 accesses a particular content item. As in the aboveexample, the user 308 may tend to watch a recording of the Today Show17:00-18:00 every weekday. However, the local office 103 may determinethat the user 308 stops accessing or changes to another content itemduring some of the recordings. In other examples, the local office 103may determine that the user 308 fast forwards, rewinds, pauses, records,changes volume, and the like while accessing a content item. Thus, thelocal office 103 may determine various behaviors the user 308 may makewhile accessing a content item.

The local office 103 may also determine metadata and contextualinformation of the content items found in the historical data 328. Thesecontent items may be items previously accessed by the user 308, and maybe content items in which the user stopped accessing before thescheduled end of the content item. For example, the user 308 may tend towatch a recording of the Today Show 17:00-18:00 every weekday. Thus, thelocal office 103 may assign a content recommendation period time of17:00-18:00 every weekday with a news (or Today Show) contenttype/classification. The local office 103 may then determine that theuser 308 stops accessing some of the recordings (e.g., stopping therecording) before the end of the content recommendation period time.Thus, the local office 103 may then access contextual information of therecordings in which the user 308 stopped accessing (or all of therecordings/content items).

In one example, the user 308 may stop accessing a recording (out ofseveral recordings of the Today Show) when there is a cooking segmentusing beef. In another example, the user 308 may fast forward when thereis a musical act. In another example, the user 308 may pause and rewindwhen there is a weather segment. In another example, the user 308 maystop accessing a live, recorded, or on-demand sporting event when theuser 308's favorite football team is losing by a lot of points, or whenthere are less than 20 highlight play sin a football game, or when teamslocated far from the user's location are playing.

In some embodiments, the user 308 may access a content item for anentire content recommendation period time period or for even longer thanthe content recommendation period time period. For example, professionalfootball games are generally 3 hours in length. However, in some cases,a game may last longer than 3 hours (such as due to it going intoovertime, a lot of injury timeouts, a lot of incomplete passes, an eventscheduled before the game going over its scheduled time slot, etc.).Accordingly, in some cases, the user 308 may continue to watch afootball game past a content recommendation period time period (such aspast 22:00) and into another content recommendation period time period.Thus, contextual features from that game may be analyzed to determinewhether any of those contextual features relate to the user's behavior(i.e., continuing to watch the game and/or not going to a recommendednext content recommendation period). For example, the user may continueto watch the game if the game is very close, if the user's favorite teamis playing, or if it is a special game (such as a championship game).

In some embodiments, the user 308 may tend to always access (e.g., watchlive, watch on-demand, or record) a content item if the content item isa new episode of a show. Thus, the local office 103 may analyze metadataof various content items and determine whether there are any “new”episodes. Similarly, the user 308 may tend to never access a contentitem if the content item is not a new episode of a show. For example,the user 308 may always switch to and watch a linear transmission of anew episode of “Suits” during a time slot of 21:00-22:00, but may notswitch to and watch a linear transmission of a repeat episode of “Suits”during that time slot.

At step 508, the local office 103 may perform sensitivity analyses andmachine learning techniques to determine the metadata and contextualfeatures relating and/or corresponding to a user's behavior and/orexpected/predicted user behavior. Thus, there may be many contextualfeatures in a content item. According to some aspects, the local office103 may determine a correlation between contextual features ofapplications (such as weather, gaming, shopping, or traffic, etc.) and auser's behavior. Such contextual features may include whether there is acooking segment, whether there is a chase scene in a program, whetherthe score of a football game is 35-7, whether it is raining outside(e.g., derived from a weather application), whether there was a worldrecord set in an Olympic event such as speed skating, etc.

Accordingly, for a given content item, such as a football game, thelocal office 103 may determine which contextual features may mean moreto a user's behavior (e.g., more likely to affect a user's behavior,such as switching channels). These contextual features may include whichteams are playing, the score, the time remaining, and the like. Forexample, the local office 103 may determine that if the user 308'sfavorite team is playing, the user will tend to abandon the game lessfrequently than if the user 308's favorite team was not playing. Also,the local office 103 may determine that when the user 308's favoriteteam is winning, the user 308 abandons the game even less frequentlywhen the user 308's favorite team is just playing (i.e., when the teamcould be either winning, losing, or tied).

In one example, the user 308 may tend to stop accessing the Today Showwhen there is a cooking segment while accessing the show on any platform(e.g., live, recorded, on-demand, etc.). Thus, the local office 103 maydetermine that the user 308 abandons some of the recordings of the TodayShow. The local office 103 may then analyze and determine contextualfeatures of those recordings in which the user 308 stop accessing. Thesecontextual features may include features such as the hosts of the TodayShow hosting outside the studio during some of the recordings, amusician performing during some of the recordings, holiday decorations,whether or not there is a weather segment, and the like. Some or all ofthese contextual features may or may not relate to and/or cause the user308's behavior. To determine which contextual features relate to theuser 308's behavior, the local office 103 may determine which contextualfeatures tend to frequently show up across the recordings of the TodayShow. As in the above example, the local office 103 may determine thatthere may be similarities between the episodes in which the user 308stops accessing, such as all of the episodes contain a cooking segment.The local office 103 may determine when a contextual featureappears/occurs in a recording, and then may determine those contextualfeatures having the highest number of appearances/occurrences (e.g.,ranking the contextual features based on occurrence). Higher rankedcontextual features may then be determined to be the contextual featuresthat affect the user 308's behavior (e.g., abandoning the recording ofthe Today Show when there is a cooking segment).

In one example, out of 100 recordings of the Today Show, the user 308may have abandoned the show 40 times, and out of those 40 times, therehas been a cooking segment 35 times, there has not been a weathersegment 20 times, there has been a musical performance 4 times, thehosts have hosted outside 8 times, and the like. From these fourcontextual features, the local office 103 may determine that the usertends to abandon when there is a cooking segment. In some embodiments, auser's behavior may be based on a combination of features. For example,if out of the 35 recordings in which a cooking segment aired, 20 of themdid not have a weather segment. Therefore, the local office 103 maydetermine that the user is even more likely to abandon when there arecording of the Today Show that contains a cooking segment and does nota weather segment than when there is only a cooking segment.

In some embodiments, the local office 103 may also determine at whichpoint during the playback of the Today Show the user 308 stopped orabandoned the playback (e.g., stopped accessing). The local office 103may use this information in determining which contextual features affectthe user 308's behavior. The local office 103 may determine whatcontextual features happened immediately before and immediately afterthe point in which the user 308 stopped accessing the recording todetermine any pattern(s) in the user's behavior. Additionally, thepoint/time in the playback in which the user 308 abandoned (or otherbehavior such as fast forward, rewind, pause, record, modify volume,voice command, etc.) the content item may help in narrowing down acollection of many different contextual features. Also, the local office103 may give a higher weight or preference to contextual features thatare closer to an abandoning point than contextual features that arefarther away from the abandoning point.

In some embodiments, the local office 103 may analyze contextualfeatures of applications running on the client device 316. For example,the local office 103 may determine from a weather application that theweather is good. In other situations, the local office 103 may obtainweather from other sources, such as from broadcasted content (e.g., froma weather channel), by having a user input the weather, and the like. Insome situations, the local office 103 may obtain the weather via aweather station connected to a premises that contains (or otherwiseassociated with) the client device 316. Such a weather station may bepart of a home automation system that may be maintained and/oraccessible by the local office 103. Good weather may include situationsin which a percentage of rain for the day may be less than 30%, thetemperature may be around the average mark for that time of year orseason of the year, and the like. In other embodiments, good weather mayinclude situations in which a deviation from an expected weathercondition satisfies a threshold. For example, in Chicago during winter,one may expect the weather to be cold and snowy. Thus, a good weathercondition may be cold and snowy. However, in the summer, cold and snowymay be a bad weather condition. Again, using statistical techniques, thelocal office 103 may determine which types of weather may affect auser's behavior. For example, if the weather is good, then the user 308may watch television longer than the user would if the weather was notgood for that day. For example, it may take the user 308 a shorter timeto get to work if the weather is good, thus giving him more time toconsume/access content (e.g., watch television). Similarly, the localoffice 103 may determine other external environmental factors in asimilar manner as weather. For example, the local office 103 maydetermine (e.g., via a traffic application or other method) that if thetraffic for the user 308's commute is good for that day (e.g., trafficmoving at substantially the speed limit and/or no accidents, and thelike), then the user 308 may watch television longer than the user wouldif the traffic was not good for that day.

In another example, the local office 103 may determine using statisticaltechniques, the local office 103 may determine which types of video gameoutcome may influence a user's behavior from that the user 308 is doingpoorly in a video game. For example, if the user 308 is accessing agaming application running on the client device 316, and the user 308 isdoing poorly in a video game, the user 308 may abandon the gamingapplication and switch to an on-demand horror movie. Similarly, if theuser 308 is doing great in a video game, the user 308 may continueplaying the video game on the gaming application, and may not switch toother content on the client device 316. In another example, the localoffice 103 may determine from a fantasy football sporting applicationthat the user 308's fantasy football team is doing very well (e.g.,scoring more points than any other team in the fantasy football league),and thus the user 308 may access a program corresponding to a mood ofthe user 308, such as a comedy show. If the user 308's fantasy footballteam is doing poorly, then the user 308 may access sadder content, suchas a dark drama or horror program.

At step 510, the local office 103 may determine the user profile and/orcontent recommendation period schedule based on the results of both step506 (e.g., the user behavior with regard to metadata and contextualfeatures of content found in the user's history, as well as metadata andcontextual information of the content items found in the historical data328), and step 508 (e.g., the contextual features relating to a user'sbehavior and expected/predicted user behavior). Thus, each contentrecommendation period's content type/classification and/or time periodmay be specific to contextual features of content accessed by the user308, and/or specific to the behavior of the user 308 related thosecontextual features. Thus, for each content recommendation period, theremay be several candidates for content type and several candidates fortime period, which may be based on the contextual features of a contentitem, like a show. This will be further described below in more detail.The process 500 may then end at step 512. According to some aspects, theprocess 500 may end after any of the steps in the process 500. Any ofthe disclosed steps in FIG. 5 may be omitted, be performed in other thanthe recited order, repeated, and/or combined.

Returning to FIG. 4 , and after determining a profile for the user 308(or for the client device 316), the process 400 may continue to step408. At step 408, the local office 103 may determine/recognize a userinteraction with the client device 316. A user interaction may be asituation in which a user, such as the user 308, may interact with theclient device 316 and/or may desire to access (e.g., watch) contentusing the client device 316. For example, the user 308 may turn on atelevision and set-top box, and may watch a television program. Inanother example, the user 308 may access an application, such asweather, traffic, music, gaming, or internet applications.

In some embodiments, the user 308 may interact with the client device316 using the input device 314. For example, the user 308 may use aremote control to enter a command (e.g., make a content selection) intothe client device 316. The user 308 may do this by entering a numberkey, an operations key (e.g., “Enter,” “Select,” etc.), or any other keyon the remote. Thus, the local office 103 may determine that the userhas interacted with the client device 316 after the local office 103receives a message from the client device 316 that includes whichcommand the user 308 entered. In some embodiments, the local office 103may then transmit content to the client device 316 in response to thisuser interaction (e.g., in response to the remote control command).

In some embodiments, the user 308 may interact with the client device316 via a motion sensor, which may be the input device 314, and may beoperably connected to the client device 316. In this situation, themotion sensor may detect a user's presence, a user's movement, when auser approaches the client device 316 or to the motion sensor, and thelike. In some embodiments, there may be a threshold associated with themotion, such that the client device 316 or the input device 314 maydetect a user interaction after the user 308 moves at a particularspeed. In some situation, there may also be threshold proximity, suchthat the client device 316 or the input device 314 may detect a userinteraction after the user 308 moves within a particular proximity ofthe client device 316 or the input device 314. The client device 316 maythen transmit a message to the local office 103 indicating this userinteraction.

According to some aspects, the client device 316 may detect userinteraction after a user may have moved the input device 314, such as bypicking up a remote. According to some aspects, the client device 316 orthe input device 314 may detect vibration as a user interaction, such aswhen a person walks, closes a door, or opens a door. In thesesituations, the input device 314 may comprise an accelerometer or otherelement configured to detect movement of the input device 314. Theclient device 316 may then transmit a message to the local office 103indicating this user interaction.

According to some aspects, the client device 316 may detect userinteraction after detecting a computing device and/or wireless device,such as a smartphone, laptop, tablet, smartwatch, or Bluetooth device(e.g., devices 302, 304, or 306). For example, the user 308 may beassociated (e.g., own or possess) with a smartphone (the device 302),the user 310 may be associated with a Bluetooth device (the device 304),and the user 312 may be associated with a tablet (the device 306). Theusers 308, 310, and 312 may have previously registered their respectivedevices with the local office 103 (such as via a cable or internetaccount). Thus, after the client device 316 detects the device 302, theclient device 316 may register a user interaction for the user 308.Similarly, after the client device 316 detects the device 304 and thedevice 306, the client device 316 may register a user interaction forthe user 310 and the user 312. Detecting various users may trigger theclient device 316 and/or the local office 103 to implement correspondingprofiles (e.g., profiles 322, 324, and 326). In such situations, theclient device 316 and/or the local office 103 may determine whichprofile to implement, or may implement more than one profile. This willbe described below in more detail. In one example, the user 308 maydrive the user 308's car into the user 308's garage, and the car mayjoin (e.g., via a wireless connection) the network 318 and/or connect tothe user 308's home automation system. The client device 316 may thendetect the user 308's car and/or that the user 308's car has connectedto the network 318 or the home automation system, and thus may registera user interaction for the user 308 based on the detection of the user308's car.

According to some aspects, the user 308 and/or the device 304 may leavea proximity of the client device 316 (or some other means of not beingdetected by the local office 103 and/or the client device 316), and thusthe client device 316 may no longer detect the user 308 and/or thedevice 304. In such situations, the client device 316 and/or the localoffice 103 may then optionally stop implementing a profile (e.g., theuser profile 322) associated with the user 308, and may implement aprofile (e.g., the user profile 324) associated with any other detecteduser (e.g., the user 310). Similarly, if the user 308 then returns to bewithin a close proximity (or otherwise be detected) to the client device316, the local office 103 may optionally begin to implement the profileassociated with the user 308 (e.g., the user profile 322). Suchimplementation may be based on a hierarchy associated with the profiles(which will be discussed later). Thus, the local office 103 maydynamically change the implementation of profiles.

According to some aspects, the client device 316 may detect userinteraction via a prompt. For example, local office may display a on adisplay of the client device 316 asking whether a user is interactingwith the client device 316 or whether a user would like to load aparticular profile. In such situations, a user may select, using aninput device 314 such as a remote, keyboard, mouse, touch screen, aprofile to load onto the client device 316. The profile may be specificto a user or client device, depending on the user's selection.

Other methods of interacting with the client device 316 include using amicrophone or camera. With the microphone, the client device 316 and/orthe local office 103 may perform speech recognition to detect a commandand/or a particular user. For example, the user 308 may want to access aweather application or a weather related program, and may say “weather”into a microphone. The local office 103 may then provide content or arecommendation based on this command. In the case of a camera, theclient device 316 may perform facial recognition to determine aparticular user.

In some embodiments, the local office 103 may assign a profile formamong a plurality of different profiles based on which type of userinteraction the local office 103 and/or the client device 316 detected.For example, if the time is 07:00, and the user 308 says “weather” intoa microphone (e.g., the input device 314), that user interaction maytrigger a particular profile for the user 308. This profile may be, forexample, a work day profile, because the local office 103 may determinethat the user 308 tends to say “weather” into the microphone beforegoing to work most days. The local office 103 may determine that theuser 308 is going to work based on a GPS device or the user's viewingpatterns (e.g., not accessing content on the client device 316 duringwork hours). In another example, a microphone (e.g., the input device314) may detect other external environmental factors, such as a barkingdog at the time of 15:00, because a mailman is approaching the user308's house. Because mail may be delivered on particular days of theweek (e.g., Monday-Friday or Monday-Saturday), a profile for thoseparticular days may be implemented based on the detecting of the barkingdog at the time of 15:00. The local office 103 may use other externalenvironmental factors according to aspects disclosed herein.

Additionally, a profile may be selected based on contextual features ofapplications. For example, the local office 103 may determine that theuser 308 tends to work from home on snowy days. The local office 103 maythen assign a snowy day profile based on based on a weather applicationrunning on client 316 indicating it is snowing or going to snow. Thus,the snowy day profile may include content recommendation periods duringthe day at times in which the user 308 may usually be at work (such ason a non-snowy day). Additionally, a snowy day profile may containcontent recommendation periods having content types/classificationscorresponding to the contextual features obtained by the local office103. For example, content types for a snowy day profile may includecontent associated snow, such as programs related to Christmas, winter,snowmen, hot chocolate, salt and ice melting, storm preparation, and thelike. In another example, the local office 103 may determine that theuser 308 tends to access content with little contextual variance (e.g.,SpongeBob) while accessing a shopping application. The local office 103may then assign a shopping profile (e.g., a profile with content havinglittle contextual variance) when the user 308 accesses a shoppingapplication.

At step 410, the local office 103 may, in response to detecting a userinteraction, assign a content recommendation period based upon aselected profile (e.g., profiles 322, 324, or 326). Depending on whichprofile the local office 103 implements, the local office 103 mayimplement a content recommendation period from that selected profile. Asstated above, a profile may be composed of different contentrecommendation periods. Each content recommendation period may have acontent recommendation period time (e.g., start time or time period)and/or an assigned content type/classification (e.g., news, kids,sports, weather application, etc.).

Thus, after the local office 103 detects a user interaction and assignsa profile, the local office 103 then may assign a content recommendationperiod having a content recommendation period time period that mayinclude the current time. For example, if the current time is 16:06, andthe selected profile (e.g., the user profile 322) has a contentrecommendation period with a content type of kids and a contentrecommendation period time period of 16:00-16:30, then the local office103 may assign this content recommendation period. Additionally, if thecurrent time is 16:00, then the local office 103 may also assign thiscontent recommendation period with a content recommendation period timeperiod of 16:00-16:30.

In other cases, the local office 103 may assign a content recommendationperiod having a content recommendation period start time that is aboutto begin and/or approaching (e.g., in the future). For example, the user308 may tend to not access content from the client device 316 between23:00-07:00, but may have a content recommendation period for a weatherapplication starting at 07:00. In this situation, if the client device316 detects a user interaction at 06:55, then the local office 103 mayassign the content recommendation period for the weather applicationbecause the content recommendation period time of 07:00 is approaching.

In some embodiments, the local office 103 may implement a plurality ofprofiles at step 408, such as profiles 322, 324, and 326 correspondingto the users 308, 310, and 312. Thus, at step 410, the local office 103may optionally assign a content recommendation period from one of theseprofiles. In some cases, a user may select (e.g., via a prompt providedby the client device 316) one of the profiles 322, 324, and 326 toimplement. In other situations, the local office 103 may determine aconsensus content recommendation period that may satisfy all of theassigned profiles. The local office 103 may determine a consensuscontent recommendation period using a predetermined hierarchy, which mayhave been established by one or more users, or may be determined by thelocal office 103. The local office 103 may determine the hierarchy basedon a how frequent a profile is implemented on the client device 316. Forexample, after selecting profiles 322, 324, and 326, the local office103 may select the user profile 322 if the user profile 322 has beenimplemented more frequently than either of profiles 324 and 326.Additionally, after implementing the user profile 322, the local office103 may still recommend content items (such as later in the process 400)using information from the user profile 322's content recommendationperiods (e.g., timing and/or content types), but also accounting forhistorical data of other users, such as the historical data 330 and 332corresponding to users 310 and 312. This will be described below in moredetail.

In some embodiments, the local office 103 may assign a particularcontent recommendation period based on the type of user interaction. Forexample, if the user 308 approaches client 316 or if client 316 detectsa wireless device of the user 308 (e.g., the device 302), then the user308 may not necessarily desire to watch a video, and client 316 mayassign an application content recommendation period (such as bydisplaying traffic, weather, social media, time, etc.). If, for example,the user uses a remote to access content, then the local office 103 mayassign a programing content recommendation period (such as news, movie,kids, etc.) instead of an application content recommendation period.

At step 412, the local office 103 may determine the amount of timeremaining in an assigned content recommendation period. For example, ifthe current time is 16:06, and the selected profile (e.g., the userprofile 322) has a content recommendation period with a content type ofkids and a content recommendation period time period of 16:00-16:30,then the local office 103 may assign this content recommendation periodand determine that there are 24 minutes left in this contentrecommendation period. Similarly, the local office 103 may alsodetermine the amount of time until the next content recommendationperiod. For example, the user 308 may tend to not access content fromthe client device 316 between 23:00-07:00, but may have a contentrecommendation period for a weather application starting at 07:00. Inthis situation, if the client device 316 detects a user interaction at06:55, then the local office 103 may determine that there is 5 minutesuntil the weather application content recommendation period. In suchsituations, the local office 103 may then assign the weather applicationcontent recommendation period at 06:55 or may wait until 07:00 to assignit. In some cases, local office may assign one content item for the 5minutes, and then assign the weather application at 07:00.

At step 414, after selecting a content recommendation period having acontent recommendation period time and content type, and afterdetermining the amount of time remaining in the selected contentrecommendation period, the local office 103 may analyze and retrieveprospect content assets whose content type may correspond to theassigned content recommendation period's content type and/or whoselength may correspond to the time remaining in the contentrecommendation period. For example, if the current time is 16:06, andthe selected profile (e.g., the user profile 322) has a contentrecommendation period with a content type of “kids” and a contentrecommendation period time period of 16:00-16:30, then the local office103 may assign this content recommendation period and determine thatthere are 24 minutes left in this content recommendation period. Thelocal office 103 may then retrieve content assets, such as from contentassets analyzed in step 402 or other content received from the contentsources 334, having a content type of “kids” and a length ofapproximately 24 minutes. In some cases, a selected content item'slength may not exactly match a time remaining in a contentrecommendation period. In these situations, the local office 103 mayretrieve content having length that is in the vicinity of the timeremaining in the content recommendation period (e.g., substantiallymatches). In the above example, the local office 103 may retrievecontent items having a length of 20-40 minutes. However, the localoffice 103 may give precedence to content items having a length thatmost closely matches the time available in a content recommendationperiod over other content items.

The analyzed content assets may include assets configured for anycontent platform, such as internet, linear, DVR, on-demand, music, andapplications (e.g., traffic, weather, social media). In someembodiments, the content assets may be on-demand or DVR platform assets,and a user may have the ability to access these on-demand or DVR assetsat any time. Thus, the local office 103 may be able to recommendon-demand or DVR assets for access by a user at any time during aprofile's schedule. In some embodiments, the content assets maybe linearor live platform assets, and a use may only have the ability to accessthese assets during a live broadcast. Thus, the local office 103 may beable to recommend linear assets for access by a user during a livebroadcast of those linear assets. This will be discussed below in moredetail with regard to the recommendations made by the local office 103.

At step 416, the local office 103 may then determine, assign weights to,and rank candidate content assets from the prospect content assets. Thelocal office 103 may determine these candidate content assets byassigning weights to prospect content assets based on analyzing metadataand contextual features of the prospect content assets and determiningthe amount of correlation between the metadata and contextual featuresand a user's profile (e.g., the user profile 322), historical data(e.g., the historical data 328), and/or behavior. The local office 103may have previously analyzed the metadata and contextual features of theprospect content assets in step 402, but may also analyze the metadataand contextual features of the prospect content assets here at step 416.The local office 103 may then rank the candidate content assetsaccording to their assigned weight.

In one example of the local office 103 assigning weights based onmetadata and contextual features, the user profile 322 and/or thehistorical data 328 may indicate that the user 308 tends to watchprofessional football on Mondays from 19:00-22:00, Thursdays at20:00-23:00, and Sundays at 19:00-22:00. The user profile 322 may alsoindicate that the user tends to watch football games that include theuser's favorite team, and tends keep watching games that include theuser's favorite team until the end of the content recommendation periodtime. In this case, football games that include the user's team may beweighted higher than other football games.

Continuing with the previous example, the user profile 322 may alsoindicate that the user 308 tends to switch from the user's favoriteteam's football game if the user's favorite team is losing by 21 or morepoints, but may tend to watch any football game if both the score of thetwo teams is within 7 points and there has been at least 20 highlightplays in the game. Thus, if the local office 103 retrieves prospectcontent assets containing 1) a live football game having the user 308'sfavorite team losing by 28 points, and 2) a live football game notincluding the user 308's favorite team, but having a score of the twoteams within 7 points and there has been 24 highlight plays in the game,then the local office 103 may give a higher weight to the second gamewith the score of the two teams within 8 points and having at 24highlight plays in the game.

In another example, the local office 103 may determine that profile 322and/or the historical data 328 may indicate that the user 308 tends towatch professional football on Mondays from 19:00-22:00, Thursdays at20:00-23:00, and Sundays at 19:00-22:00, and access a drama from22:00-23:00 every day of the week. Profile 322 and/or the historicaldata 328 may indicate that whenever there is a new episode of DowntonAbbey on Sundays at 22:00, the user 308 almost always watches the wholeepisode of Downton Abbey for the entire length of the contentrecommendation period time of 22:00-23:00. However, professionalfootball games sometimes go into overtime, and may last longer than anexpected time (e.g., more than 3 hours). Thus, if the game haspreviously aired and the user is accessing it on DVR or on-demand, thelocal office 103 may analyze the metadata and contextual features of thefootball game and determine that the game lasted longer than threehours. The local office 103 may then provide the football game having ashorter length that fits into the content recommendation period's timeperiod and/or ending at the end of the content recommendation period'stime period, and thus not interfering with the next contentrecommendation period of Downton Abbey at 22:00.

In some situations, the user 308 may interact with the client device 316in the middle of the content recommendation period time of 19:00-22:00for professional football on Sunday. In these situations, the localoffice 103 may retrieve a content asset (e.g., football game) matchingthe remaining time left in the content recommendation period.Alternatively, the local office 103 may retrieve a shortened version ofthe game (e.g., such as only showing scoring plays or highlights, onlyshowing the user's favorite team's offensive possessions, and the like,which may be derived from the user 308's behavior in relation tocontextual features of the content asset) to substantially match theavailable time left in the content recommendation period.

In another example, local device 103 may determine the user profile 322indicating that the user 308 tends to watch a recording of the TodayShow from 17:00-18:00 every weekday. The user profile 322 may alsoindicate that if there is a cooking segment during the recordedbroadcast of the Today Show, the user tends to switch from the recordingof the Today Show to a 24 hour news channel (e.g., MSNBC) until the endof that content recommendation period (18:00). At 18:00, the user 308may then tend to watch the local evening news until 19:00. Thus, afterthe client device 316 records the Today Show, the local office 103 mayanalyze and determine the metadata and contextual features of thatrecording. These contextual features may include whether the hosts ofthe Today Show hosted outside the studio, whether a musician performed,whether there was a holiday theme, whether there was a mistake made by ahost, whether or not there was a weather segment, and the like. In thiscase, the local office 103 may determine that there was a cookingsegment during the episode. Thus, referring to the user profile 322which indicates that the user 308 tends to switch to MSNBC when there isa cooking segment during the recording of the Today Show, the localoffice 103 may provide a higher weight to MSNBC than to the recording ofthe Today Show for that content recommendation period having the contentrecommendation period time of 17:00-18:00.

In another example, the local office 103 may weight prospect contentitems based on contextual features derived from applications running onthe client device 316. For example, the local office 103 may determinefrom a weather application that the current weather is snowy. In thiscase, the local office 103 may provide a higher weight to content itemsassociated with snow, such as movies or shows set in the winter oraround Christmas.

In some cases, weights may be assigned to content based on thepopularity of a program, such as by using ratings, relevancy rankings,or any other method of determining popularity. The popularity of contentmay also be based on users within a particular proximity to the user308, across demographics (e.g., age, sex, income, location, etc.), andthe like.

At step 418, the local office 103 may then transmit to the client device316 an indication of one or more of the higher ranked candidate contentassets. The local office 103 may make such an indication with arecommendation for a particular candidate content asset. For example,the client device 316 may provide a prompt on a display recommending tothe user 308 one or higher ranked candidate content assets for anassigned content recommendation period. In other situations, the localoffice 103 may transmit to the client device 316 the one or more of thehigher ranked candidate content assets. In some cases, the local office103 may indicate only a highest ranked candidate content asset.Additionally, the client device 316 may automatically access (e.g.,play) one of the candidate content assets (such as a highest rankedcandidate).

According to some embodiments, an indication and/or recommendation canbe based on any data that may be available to local officer 103, such asany information that may have been gathered and/or any event (orinteraction) that has or is currently happening. For example, anindication and/or recommendation may be based on a portion of a profile,a portion of the content recommendation period, and the like.

In one example, local device 103 may determine the user profile 322indicating that the user 308 tends to watch a recording of the TodayShow 17:00-18:00 every weekday. The user profile 322 may also indicatethat if there is a cooking segment during the recorded broadcast of theToday Show, the user tends to switch from the recording of the TodayShow to watch a 24 hour news channel (e.g., MSNBC) until the end of thatcontent recommendation period (18:00). In this case, the local office103 may determine that there was a cooking segment during the episode.According, referring to the user profile 322 which indicates that theuser tends to switch to MSNBC when there is a cooking segment during therecording of the Today Show, the local office 103 may provide a higherweight to MSNBC than to the recording of the Today Show. Thus, the localoffice 103 may recommend watching MSNBC during the contentrecommendation period from 17:00-18:00 instead of the Today Show. Inthis example, the content type of the Today Show (e.g., news) may matchthe content type of MSNBC (e.g., news). However, in another example, theuser 308 may tend to switch to SpongeBob (e.g., kids content type) whenthe recording of the Today Show features a musical act. Thus, if therecording of the Today Show features a musical act, the local office 103may recommend watching SpongeBob during the content recommendationperiod from 17:00-18:00 instead of the Today Show or MSNBC, becauseSpongeBob would be have a higher ranking or weight based on the localoffice 103's analysis of the Today Show's contextual features.

In another example, the local office 103 may analyze contextual featuresof applications running on the client device 316. The local office 103may determine using a weather application that the weather is good(e.g., not raining). The user profile 322 may indicate a contentrecommendation period for 07:30-08:00 for news programming. The userprofile 322 may also indicate that if the weather is good, then the user308 may watch television longer than the user would if the weather wasnot good for that day. Accordingly, after the local office 103 analyzesthe weather and determines that the weather is good, then the localoffice 103 may recommend additional content for the user 308 to access,because, as indicated in the user profile 322, the user 308 tends towatch more television when there is good weather. The additional contentmay also be based on the historical data 328, which may indicatespecific types of content the user tends to watch. In some cases, thelocal office 103 may assign the weather a value, such as from 1 to 10,with 1 being the worst weather and 10 being the best weather. In thesecircumstances, the amount of extra time available for the user 308 towatch television may correspond to the assigned weather value. Forexample, if the weather is assigned a 10, then the user may have anextra 30 minutes to watch television. If the weather is assigned a 7,the user may have an extra 5 minutes to watch television. If the weatheris assigned a 5, the user may not have any extra time to watchtelevision, and may follow the content recommendation period time of07:30-08:00. If the weather is assigned a 1, then the user may have toleave 15 minutes earlier, and may have 15 minutes less to watchtelevision. In the situation where the weather is assigned a 10, thelocal office 103 may recommend a content asset to fill a one hour timeperiod (e.g., from 07:30-08:30). Alternatively, the local office 103 mayrecommend a content asset for the original content recommendation periodtime of 07:30-08:00, and then pick one or more additional content assetsto fill the remainder of the time. A similar approach may be used forwhen weather is assigned a 7 with 5 extra minutes. If the weather isassigned a 1, then the local office 103 may pick one or more contentassets to fill the 15 minutes (e.g., from 07:30-07:45), which may be ofthe same content type as indicated in the content recommendation period.

In another example, the local office 103 may determine using a trafficapplication that the traffic is good (e.g., traffic moving atsubstantially the speed limit and/or no accidents). The user profile 322may indicate a content recommendation period for 07:30-08:00 for newsprogramming. The user profile 322 may also indicate that if the trafficis good, then the user 308 may watch television longer than the userwould if the traffic was not good for that day. Accordingly, after thelocal office 103 analyzes the traffic and determines that the traffic isgood, then the local office 103 may recommend additional content for theuser 308 to access, because the user 308 tends to watch more televisionwhen the traffic is good. Additionally, as in the above weather example,the local office 103 may assign the traffic a value, such as from 1 to10, with 1 being the worst weather and 10 being the best weather. Thelocal office 103 may then base the amount of time available for extracontent on this assigned value, and then determine corresponding contentto recommend.

In another example, the user profile 322 may indicate that the user 308tends to always watch a specific contextual feature, such as a hockeyfight between four or more hockey players. Thus, the local office 103may transmit a recommendation for (or automatically tune to) a contentasset containing a hockey fight between four or more hockey players. Inthese situations, the recommended content may not match time periodand/or content type of a currently assigned content recommendationperiod. However, the local office 103 may make this recommendationbecause of the very close correlation between the user 308's behavior(e.g., always watching a fight between four or more hockey players) andthe contextual features of a content item (e.g., content having a fightbetween four or more hockey players).

According to some aspects, the local office 103 may examine a socialmedia application on the client device 316 for contextual features thatmay relate to the user 308's behavior. For example, the local office 103may analyze social media feeds or posts from friends of the user 308 orpeople unknown to the user 308 to determine contextual features in thesefeeds or posts. Such contextual features may include internet content,popular television shows or scenes from those shows, popular movies orscenes from those movies, popular sporting events or plays/acts fromthose events, and the like. From these contextual features, the localoffice 103 may then recommend content according to the user 308'sbehavior. For example, the user profile 322 may indicate that the user308 tends to always watch a specific contextual feature, such as ahockey fight between four or more hockey players. If the local office103 determines from the contextual features of a social mediaapplication that a hockey fight between four or more hockey players iscurrently airing, then the local office 103 may transmit arecommendation for (or automatically tune to) the currently airingcontent asset containing a hockey fight between four or more hockeyplayers. Alternatively, if the hockey fight is on a video-sharingwebsite or on-demand platform, then the local office 103 may recommendcontent on those mediums and/or platforms to the user 308.

According to some aspects, the client device 316 may detect userinteraction after detecting more than one user (e.g., the users 308 and310), and thus may determine consensus content candidates. Detectingvarious users may trigger the client device 316 and/or the local office103 to implement corresponding user profiles (e.g., profiles 322 and324). In such a situation, a user may select (e.g., via a promptprovided by the client device 316) one of the profiles 322 or 324 toimplement. In other situations, the local office 103 may determine aprofile to implement using a hierarchy (discussed above). The localoffice 103 may further analyze the historical data 328 and 330(corresponding to the users 308 and 310) to determine user behaviorand/or viewing patterns of the users 308 and 310. After selecting aprofile to implement (e.g., the user profile 322), the local office 103may assign weights to prospect content assets based on the behavior andviewing patterns of both the users 308 and 310. Thus, the user profile322 may indicate a content recommendation period with a contentrecommendation period time of 18:00-19:00 and a content type of localnews, and may assign this content recommendation period based on thecurrent time. However, the local office 103 also recognizes the user 310and may weight content items differently than if the user 310 was notdetected. Thus, the local office 103 may determine that the user 310tends to primarily watch a sitcom from 18:00-19:00, and then may nexttend to watch a sports program from 18:00-19:00 (e.g., the user 310tends to watch a sitcom 75% of the time from 18:00-19:00, tends to watcha sports program 20% of the time from 18:00-19:00, and tends to watchother programs the other 5% of the time). The local office 103 may alsodetermine that the user 308 tends to primarily watch the local news from18:00-19:00, and then may next tend to watch a sports program from18:00-19:00 (e.g., the user 308 tends to watch the local news 85% of thetime from 18:00-19:00, tends to watch a sports program 10% of the timefrom 18:00-19:00, and tends to watch other programs the other 5% of thetime). Thus, determining that each user's second option for watchingtelevision between 18:00-19:00 is the same, the local office 103 mayprovide greater weight to sports program content items, andsubsequently, recommend a sports program content item. Additionally, therecommendation may further be refined if the particular sports programone user tended to watch matched the particular sports program the otheruser tended to watch.

At step 420, the local office 103 may then track and determine a user'sviewing patterns and/or behavior associated with the content indicationor recommendation made by the local office 103 in step 418. For example,the user 308 may not accept a recommendation/indication prompt from thelocal office 103, and may actually access other content. In these cases,the local office 103 may transmit additional recommendations/indicationsof content items which may be weighted less than candidate content itemtransmitted in an initial or previous recommendation/indication. Inanother example, the user 308 may accept/select arecommendation/indication prompt for a content asset transmitted by thelocal office 103, and local office 103 (or some other content provider)may then transmit content that may correspond to the selected contentasset (e.g., the selected program, application, etc.). Another exampleof user behavior may be that the user 308 did not stop accessing arecommended content item until the end of the content recommendationperiod (e.g., did not turn or switch to other content). Also, the user308 may continue to watch a content item that runs over the scheduledcontent recommendation period. Additionally, the local office 103 maydetermine that the user 308 stopped accessing a content item (e.g., acontent item transmitted by local office 103 selected from anindication/recommendation transmitted by local office 103, a contentitem that client device 302 automatically tuned to based on anindication/recommendation transmitted by local office 103, and thelike), and at which point during the playback of a content item the user308 stopped the playback. Any behavior or viewing pattern of a user maybe determined in step 420.

The process 400 may then return to step 404, where the local office 103may use the information determined and obtained in step 420 to update,determine, gather, and/or analyze historical data (e.g., the historicaldata 328) for a user (e.g., the user 308). The process 400 may thencontinue and may use the updated historical data. The process 400 mayend after any of the steps in the process 400. Any of the disclosedsteps in FIG. 4 may be omitted, be performed in other than the recitedorder, repeated, and/or combined.

Although example embodiments are described above, the various featuresand steps may be combined, divided, omitted, rearranged, revised and/oraugmented in any desired manner, depending on the specific outcomeand/or application. Various alterations, modifications, and improvementswill readily occur to those skilled in art. Such alterations,modifications, and improvements as are made obvious by this disclosureare intended to be part of this description though not expressly statedherein, and are intended to be within the spirit and scope of thedisclosure. Accordingly, the foregoing description is by way of exampleonly, and not limiting. This patent is limited only as defined in thefollowing claims and equivalents thereto.

The invention claimed is:
 1. A method comprising: determining, by acomputing device, a plurality of profiles associated with a plurality ofusers of a user device, wherein the plurality of profiles indicate aplurality of content recommendation periods, and wherein each contentrecommendation period is associated with a content classification;receiving a request for a content recommendation; determining, for eachuser of the plurality of users, a corresponding frequency of using theuser device; ranking the plurality of users based on the frequencies ofusing the user device; selecting, based on the request and from theplurality of content recommendation periods of the plurality ofprofiles, a first candidate content recommendation period; and causingoutput of an indication of one or more content candidates, based on: theranking, and the first candidate content recommendation period.
 2. Themethod of claim 1, wherein the causing output of the indication of oneor more content candidates is further based on a current time of day. 3.The method of claim 1, wherein the selecting the first candidate contentrecommendation period is based on a type of user interaction indicatedby the request for the content recommendation.
 4. The method of claim 1,further comprising: ranking the one or more content candidates based ona correlation between historical data associated with a first user andone or more contextual features associated with the one or more contentcandidates.
 5. The method of claim 4, wherein the ranking the one ormore content candidates further comprises: assigning a higher rank toone or more of the one or more content candidates having a time lengththat substantially corresponds to a remaining time in the firstcandidate content recommendation period.
 6. The method of claim 1,wherein the selecting the first candidate content recommendation periodis based on one or more of a behavior of a first user or a location ofthe first user.
 7. The method of claim 1, further comprising: afterreceiving the request for the content recommendation, determining atleast one environmental factor; and adjusting, based on the at least oneenvironmental factor, one or more of a start time of the first candidatecontent recommendation period or an end time of the first candidatecontent recommendation period.
 8. The method of claim 1, furthercomprising: adjusting a start time or an end time, of the firstcandidate content recommendation period, based on one or more of weatheror traffic.
 9. The method of claim 1, wherein the plurality of contentrecommendation periods are based on one or more of contextual featuresassociated with: content previously accessed by a first user; orbehavior associated with the first user.
 10. The method of claim 1,further comprising: based on a first user stopping playback of a contentasset, adjusting one or more of a start time of the first candidatecontent recommendation period, an end time of the first candidatecontent recommendation period, or a first content classificationassociated with the first candidate content recommendation period. 11.The method of claim 1, wherein at least two content recommendationperiods of the plurality of profiles correspond to a same time period.12. The method of claim 1, wherein the ranking the plurality of userscomprises: determining which user, among the plurality of users, has ahighest frequency of using the user device.
 13. The method of claim 1,wherein the ranking the plurality of users comprises: determining that afirst user, among the plurality of users, has a higher frequency ofusing the user device than a second user among the plurality of users.14. The method of claim 1, wherein the determining the correspondingfrequency of using the user device comprises: determining acorresponding frequency of implementation, in the user device, of acorresponding profile of the plurality of profiles.
 15. The method ofclaim 1, wherein the selecting the first candidate contentrecommendation period is based on data received, from the user device,that indicates a state of an application running on the user device. 16.The method of claim 1, wherein the causing output of the indication ofone or more content candidates based on the first candidate contentrecommendation period comprises: determining an amount of time remainingin the first candidate content recommendation period; and determining atleast one of the one or more content candidates as being a content item,of a plurality of content items, that has the content classification ofthe first candidate content recommendation period and that has a lengthmost closely matching the amount of time remaining.
 17. A methodcomprising: determining, by a computing device, a plurality of profilesassociated with a plurality of users of a user device, wherein each ofthe plurality of profiles indicate a plurality of content recommendationperiods, and wherein each content recommendation period is associatedwith a content classification; receiving a request for a contentrecommendation; determining, for each user of the plurality of users, acorresponding frequency of using the user device; selecting, based ondetermining a user, of the plurality of users, associated with thehighest frequency of the determined frequencies, a profile of theplurality of profiles; selecting, based on the request and from theplurality of content recommendation periods of the selected profile, afirst candidate content recommendation period; and causing output of anindication of one more content candidates, based on the first candidatecontent recommendation period.
 18. The method of claim 17, wherein thedetermining the corresponding frequency of using the user devicecomprises: determining a corresponding frequency of implementation, inthe user device, of a corresponding profile of the plurality ofprofiles.
 19. The method of claim 17, wherein the selected profilecomprises a profile of the user who has used the user device the most.20. A method comprising: receiving an indication of a user interactionwith a plurality of content assets; determining, by a computing deviceand based on the indication of the user interaction, a plurality ofprofiles associated with a plurality of users of a user device, whereineach of the plurality of profiles indicates a plurality of contentrecommendation periods, and wherein each content recommendation periodis associated with a content classification; receiving a request for acontent recommendation; determining, for each of the plurality ofprofiles, a corresponding frequency of use on the user device;selecting, based on the frequencies, a profile of the plurality ofprofiles; selecting, based on the request and from the plurality ofcontent recommendation periods of the selected profile, a firstcandidate content recommendation period; and causing output of anindication of one or more content candidates, based on the firstcandidate content recommendation period.
 21. The method of claim 20,wherein the selecting the first candidate content recommendation periodis based on data indicating a state of an application running on theuser device.